home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / i2c-id.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  13KB  |  314 lines

  1. /* ------------------------------------------------------------------------- */
  2. /*                                          */
  3. /* i2c.h - definitions for the i2c-bus interface                 */
  4. /*                                          */
  5. /* ------------------------------------------------------------------------- */
  6. /*   Copyright (C) 1995-1999 Simon G. Vogl
  7.  
  8.     This program is free software; you can redistribute it and/or modify
  9.     it under the terms of the GNU General Public License as published by
  10.     the Free Software Foundation; either version 2 of the License, or
  11.     (at your option) any later version.
  12.  
  13.     This program is distributed in the hope that it will be useful,
  14.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.     GNU General Public License for more details.
  17.  
  18.     You should have received a copy of the GNU General Public License
  19.     along with this program; if not, write to the Free Software
  20.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.             */
  21. /* ------------------------------------------------------------------------- */
  22.  
  23. /* $Id: i2c-id.h,v 1.68 2003/02/25 02:55:18 mds Exp $ */
  24.  
  25. #ifndef LINUX_I2C_ID_H
  26. #define LINUX_I2C_ID_H
  27.  
  28. /*
  29.  * This file is part of the i2c-bus package and contains the identifier
  30.  * values for drivers, adapters and other folk populating these serial
  31.  * worlds. 
  32.  *
  33.  * These will change often (i.e. additions) , therefore this has been 
  34.  * separated from the functional interface definitions of the i2c api.
  35.  *
  36.  */
  37.  
  38. /*
  39.  * ---- Driver types -----------------------------------------------------
  40.  *       device id name + number        function description, i2c address(es)
  41.  *
  42.  *  Range 1000-1999 range is defined in sensors/sensors.h 
  43.  *  Range 0x100 - 0x1ff is for V4L2 Common Components 
  44.  *  Range 0xf000 - 0xffff is reserved for local experimentation, and should
  45.  *        never be used in official drivers 
  46.  */
  47.  
  48. #define I2C_DRIVERID_MSP3400     1
  49. #define I2C_DRIVERID_TUNER     2
  50. #define I2C_DRIVERID_VIDEOTEX     3    /* please rename        */
  51. #define I2C_DRIVERID_TDA8425     4    /* stereo sound processor    */
  52. #define I2C_DRIVERID_TEA6420     5    /* audio matrix switch        */
  53. #define I2C_DRIVERID_TEA6415C     6    /* video matrix switch        */
  54. #define I2C_DRIVERID_TDA9840     7    /* stereo sound processor    */
  55. #define I2C_DRIVERID_SAA7111A     8    /* video input processor    */
  56. #define I2C_DRIVERID_SAA5281     9    /* videotext decoder        */
  57. #define I2C_DRIVERID_SAA7112    10    /* video decoder, image scaler    */
  58. #define I2C_DRIVERID_SAA7120    11    /* video encoder        */
  59. #define I2C_DRIVERID_SAA7121    12    /* video encoder        */
  60. #define I2C_DRIVERID_SAA7185B    13    /* video encoder        */
  61. #define I2C_DRIVERID_CH7003    14    /* digital pc to tv encoder     */
  62. #define I2C_DRIVERID_PCF8574A    15    /* i2c expander - 8 bit in/out    */
  63. #define I2C_DRIVERID_PCF8582C    16    /* eeprom            */
  64. #define I2C_DRIVERID_AT24Cxx    17    /* eeprom 1/2/4/8/16 K         */
  65. #define I2C_DRIVERID_TEA6300    18    /* audio mixer            */
  66. #define I2C_DRIVERID_BT829    19    /* pc to tv encoder        */
  67. #define I2C_DRIVERID_TDA9850    20    /* audio mixer            */
  68. #define I2C_DRIVERID_TDA9855    21    /* audio mixer            */
  69. #define I2C_DRIVERID_SAA7110    22    /* video decoder        */
  70. #define I2C_DRIVERID_MGATVO    23    /* Matrox TVOut            */
  71. #define I2C_DRIVERID_SAA5249    24    /* SAA5249 and compatibles    */
  72. #define I2C_DRIVERID_PCF8583    25    /* real time clock        */
  73. #define I2C_DRIVERID_SAB3036    26    /* SAB3036 tuner        */
  74. #define I2C_DRIVERID_TDA7432    27    /* Stereo sound processor    */
  75. #define I2C_DRIVERID_TVMIXER    28      /* Mixer driver for tv cards    */
  76. #define I2C_DRIVERID_TVAUDIO    29      /* Generic TV sound driver      */
  77. #define I2C_DRIVERID_DPL3518    30      /* Dolby decoder chip           */
  78. #define I2C_DRIVERID_TDA9873    31      /* TV sound decoder chip        */
  79. #define I2C_DRIVERID_TDA9875    32      /* TV sound decoder chip        */
  80. #define I2C_DRIVERID_PIC16C54_PV9 33    /* Audio mux/ir receiver        */
  81.  
  82. #define I2C_DRIVERID_SBATT      34     /* Smart Battery Device        */
  83. #define I2C_DRIVERID_SBS        35     /* SB System Manager        */
  84. #define I2C_DRIVERID_VES1893    36     /* VLSI DVB-S decoder        */
  85. #define I2C_DRIVERID_VES1820    37     /* VLSI DVB-C decoder        */
  86. #define I2C_DRIVERID_SAA7113    38     /* video decoder            */
  87. #define I2C_DRIVERID_TDA8444    39     /* octuple 6-bit DAC             */
  88. #define I2C_DRIVERID_BT819    40     /* video decoder            */
  89. #define I2C_DRIVERID_BT856    41     /* video encoder            */
  90. #define I2C_DRIVERID_VPX3220    42     /* video decoder+vbi/vtxt    */
  91. #define I2C_DRIVERID_DRP3510    43     /* ADR decoder (Astra Radio)    */
  92. #define I2C_DRIVERID_SP5055    44     /* Satellite tuner        */
  93. #define I2C_DRIVERID_STV0030    45     /* Multipurpose switch        */
  94. #define I2C_DRIVERID_SAA7108    46     /* video decoder, image scaler   */
  95. #define I2C_DRIVERID_DS1307    47     /* DS1307 real time clock    */
  96. #define I2C_DRIVERID_ADV7175    48     /* ADV 7175/7176 video encoder    */
  97. #define I2C_DRIVERID_SAA7114    49    /* video decoder        */
  98. #define I2C_DRIVERID_ZR36120    50     /* Zoran 36120 video encoder    */
  99. #define I2C_DRIVERID_24LC32A    51    /* Microchip 24LC32A 32k EEPROM    */
  100. #define I2C_DRIVERID_STM41T00    52    /* real time clock        */
  101. #define I2C_DRIVERID_UDA1342    53    /* UDA1342 audio codec        */
  102. #define I2C_DRIVERID_ADV7170    54    /* video encoder        */
  103. #define I2C_DRIVERID_RADEON    55    /* I2C bus on Radeon boards    */
  104. #define I2C_DRIVERID_MAX1617    56    /* temp sensor            */
  105. #define I2C_DRIVERID_SAA7191    57    /* video encoder        */
  106. #define I2C_DRIVERID_INDYCAM    58    /* SGI IndyCam            */
  107. #define I2C_DRIVERID_BT832    59    /* CMOS camera video processor    */
  108. #define I2C_DRIVERID_TDA9887    60    /* TDA988x IF-PLL demodulator    */
  109. #define I2C_DRIVERID_OVCAMCHIP    61    /* OmniVision CMOS image sens.    */
  110. #define I2C_DRIVERID_TDA7313    62    /* TDA7313 audio processor    */
  111. #define I2C_DRIVERID_MAX6900    63    /* MAX6900 real-time clock    */
  112. #define I2C_DRIVERID_SAA7114H    64    /* video decoder        */
  113.  
  114.  
  115. #define I2C_DRIVERID_EXP0    0xF0    /* experimental use id's    */
  116. #define I2C_DRIVERID_EXP1    0xF1
  117. #define I2C_DRIVERID_EXP2    0xF2
  118. #define I2C_DRIVERID_EXP3    0xF3
  119.  
  120. #define I2C_DRIVERID_I2CDEV    900
  121. #define I2C_DRIVERID_I2CPROC    901
  122. #define I2C_DRIVERID_ARP        902    /* SMBus ARP Client              */
  123. #define I2C_DRIVERID_ALERT      903    /* SMBus Alert Responder Client  */
  124.  
  125. /* IDs --   Use DRIVERIDs 1000-1999 for sensors. 
  126.    These were originally in sensors.h in the lm_sensors package */
  127. #define I2C_DRIVERID_LM78 1002
  128. #define I2C_DRIVERID_LM75 1003
  129. #define I2C_DRIVERID_GL518 1004
  130. #define I2C_DRIVERID_EEPROM 1005
  131. #define I2C_DRIVERID_W83781D 1006
  132. #define I2C_DRIVERID_LM80 1007
  133. #define I2C_DRIVERID_ADM1021 1008
  134. #define I2C_DRIVERID_ADM9240 1009
  135. #define I2C_DRIVERID_LTC1710 1010
  136. #define I2C_DRIVERID_SIS5595 1011
  137. #define I2C_DRIVERID_ICSPLL 1012
  138. #define I2C_DRIVERID_BT869 1013
  139. #define I2C_DRIVERID_MAXILIFE 1014
  140. #define I2C_DRIVERID_MATORB 1015
  141. #define I2C_DRIVERID_GL520 1016
  142. #define I2C_DRIVERID_THMC50 1017
  143. #define I2C_DRIVERID_DDCMON 1018
  144. #define I2C_DRIVERID_VIA686A 1019
  145. #define I2C_DRIVERID_ADM1025 1020
  146. #define I2C_DRIVERID_LM87 1021
  147. #define I2C_DRIVERID_PCF8574 1022
  148. #define I2C_DRIVERID_MTP008 1023
  149. #define I2C_DRIVERID_DS1621 1024
  150. #define I2C_DRIVERID_ADM1024 1025
  151. #define I2C_DRIVERID_IT87 1026
  152. #define I2C_DRIVERID_CH700X 1027 /* single driver for CH7003-7009 digital pc to tv encoders */
  153. #define I2C_DRIVERID_FSCPOS 1028
  154. #define I2C_DRIVERID_FSCSCY 1029
  155. #define I2C_DRIVERID_PCF8591 1030
  156. #define I2C_DRIVERID_SMSC47M1 1031
  157. #define I2C_DRIVERID_VT1211 1032
  158. #define I2C_DRIVERID_LM92 1033
  159. #define I2C_DRIVERID_VT8231 1034
  160. #define I2C_DRIVERID_SMARTBATT 1035
  161. #define I2C_DRIVERID_BMCSENSORS 1036
  162. #define I2C_DRIVERID_FS451 1037
  163. #define I2C_DRIVERID_W83627HF 1038
  164. #define I2C_DRIVERID_LM85 1039
  165. #define I2C_DRIVERID_LM83 1040
  166. #define I2C_DRIVERID_LM90 1042
  167. #define I2C_DRIVERID_ASB100 1043
  168. #define I2C_DRIVERID_FSCHER 1046
  169. #define I2C_DRIVERID_W83L785TS 1047
  170. #define I2C_DRIVERID_SMSC47B397 1050
  171.  
  172. /*
  173.  * ---- Adapter types ----------------------------------------------------
  174.  *
  175.  * First, we distinguish between several algorithms to access the hardware
  176.  * interface types, as a PCF 8584 needs other care than a bit adapter.
  177.  */
  178.  
  179. #define I2C_ALGO_NONE    0x000000
  180. #define I2C_ALGO_BIT    0x010000    /* bit style adapters        */
  181. #define I2C_ALGO_PCF    0x020000    /* PCF 8584 style adapters    */
  182. #define I2C_ALGO_ATI    0x030000    /* ATI video card        */
  183. #define I2C_ALGO_SMBUS    0x040000
  184. #define I2C_ALGO_ISA     0x050000    /* lm_sensors ISA pseudo-adapter */
  185. #define I2C_ALGO_SAA7146 0x060000    /* SAA 7146 video decoder bus    */
  186. #define I2C_ALGO_ACB     0x070000    /* ACCESS.bus algorithm         */
  187. #define I2C_ALGO_IIC    0x080000     /* ITE IIC bus */
  188. #define I2C_ALGO_SAA7134 0x090000
  189. #define I2C_ALGO_MPC824X 0x0a0000    /* Motorola 8240 / 8245         */
  190. #define I2C_ALGO_IPMI     0x0b0000    /* IPMI dummy adapter */
  191. #define I2C_ALGO_IPMB     0x0c0000    /* IPMB adapter */
  192. #define I2C_ALGO_MPC107 0x0d0000
  193. #define I2C_ALGO_EC     0x100000        /* ACPI embedded controller     */
  194.  
  195. #define I2C_ALGO_MPC8XX 0x110000    /* MPC8xx PowerPC I2C algorithm */
  196. #define I2C_ALGO_OCP    0x120000    /* IBM or otherwise On-chip I2C algorithm */
  197. #define I2C_ALGO_BITHS    0x130000    /* enhanced bit style adapters    */
  198. #define I2C_ALGO_IOP3XX    0x140000    /* XSCALE IOP3XX On-chip I2C alg */
  199. #define I2C_ALGO_PCA    0x150000    /* PCA 9564 style adapters    */
  200.  
  201. #define I2C_ALGO_SIBYTE 0x150000    /* Broadcom SiByte SOCs        */
  202. #define I2C_ALGO_SGI    0x160000        /* SGI algorithm                */
  203. #define I2C_ALGO_AU1550    0x170000        /* Au1550 PSC algorithm        */
  204.  
  205. #define I2C_ALGO_EXP    0x800000    /* experimental            */
  206.  
  207. #define I2C_ALGO_MASK    0xff0000    /* Mask for algorithms        */
  208. #define I2C_ALGO_SHIFT    0x10    /* right shift to get index values     */
  209.  
  210. #define I2C_HW_ADAPS    0x10000        /* # adapter types        */
  211. #define I2C_HW_MASK    0xffff        
  212.  
  213.  
  214. /* hw specific modules that are defined per algorithm layer
  215.  */
  216.  
  217. /* --- Bit algorithm adapters                         */
  218. #define I2C_HW_B_LP    0x00    /* Parallel port Philips style adapter    */
  219. #define I2C_HW_B_LPC    0x01    /* Parallel port, over control reg.    */
  220. #define I2C_HW_B_SER    0x02    /* Serial line interface        */
  221. #define I2C_HW_B_ELV    0x03    /* ELV Card                */
  222. #define I2C_HW_B_VELLE    0x04    /* Vellemann K8000            */
  223. #define I2C_HW_B_BT848    0x05    /* BT848 video boards            */
  224. #define I2C_HW_B_WNV    0x06    /* Winnov Videums            */
  225. #define I2C_HW_B_VIA    0x07    /* Via vt82c586b            */
  226. #define I2C_HW_B_HYDRA    0x08    /* Apple Hydra Mac I/O            */
  227. #define I2C_HW_B_G400    0x09    /* Matrox G400                */
  228. #define I2C_HW_B_I810    0x0a    /* Intel I810                 */
  229. #define I2C_HW_B_VOO    0x0b    /* 3dfx Voodoo 3 / Banshee          */
  230. #define I2C_HW_B_PPORT  0x0c    /* Primitive parallel port adapter    */
  231. #define I2C_HW_B_SAVG    0x0d    /* Savage 4                         */
  232. #define I2C_HW_B_SCX200    0x0e    /* Nat'l Semi SCx200 I2C            */
  233. #define I2C_HW_B_RIVA    0x10    /* Riva based graphics cards        */
  234. #define I2C_HW_B_IOC    0x11    /* IOC bit-wiggling            */
  235. #define I2C_HW_B_TSUNA  0x12    /* DEC Tsunami chipset            */
  236. #define I2C_HW_B_FRODO  0x13    /* 2d3D, Inc. SA-1110 Development Board */
  237. #define I2C_HW_B_OMAHA  0x14    /* Omaha I2C interface (ARM)        */
  238. #define I2C_HW_B_GUIDE  0x15    /* Guide bit-basher            */
  239. #define I2C_HW_B_IXP2000 0x16    /* GPIO on IXP2000 systems              */
  240. #define I2C_HW_B_IXP4XX 0x17    /* GPIO on IXP4XX systems        */
  241. #define I2C_HW_B_S3VIA    0x18    /* S3Via ProSavage adapter        */
  242. #define I2C_HW_B_ZR36067 0x19    /* Zoran-36057/36067 based boards    */
  243. #define I2C_HW_B_CX2388x 0x1b    /* connexant 2388x based tv cards    */
  244.  
  245. /* --- PCF 8584 based algorithms                    */
  246. #define I2C_HW_P_LP    0x00    /* Parallel port interface        */
  247. #define I2C_HW_P_ISA    0x01    /* generic ISA Bus inteface card    */
  248. #define I2C_HW_P_ELEK    0x02    /* Elektor ISA Bus inteface card    */
  249.  
  250. /* --- PCA 9564 based algorithms */
  251. #define I2C_HW_A_ISA    0x00    /* generic ISA Bus interface card    */
  252.  
  253. /* --- ACPI Embedded controller algorithms                              */
  254. #define I2C_HW_ACPI_EC          0x00
  255.  
  256. /* --- MPC824x PowerPC adapters                        */
  257. #define I2C_HW_MPC824X 0x00    /* Motorola 8240 / 8245                 */
  258.  
  259. /* --- MPC8xx PowerPC adapters                        */
  260. #define I2C_HW_MPC8XX_EPON 0x00    /* Eponymous MPC8xx I2C adapter     */
  261.  
  262. /* --- ITE based algorithms                        */
  263. #define I2C_HW_I_IIC    0x00    /* controller on the ITE */
  264.  
  265. /* --- PowerPC on-chip adapters                        */
  266. #define I2C_HW_OCP 0x00    /* IBM on-chip I2C adapter     */
  267.  
  268. /* --- Broadcom SiByte adapters                        */
  269. #define I2C_HW_SIBYTE    0x00
  270.  
  271. /* --- SGI adapters                            */
  272. #define I2C_HW_SGI_VINO    0x00
  273. #define I2C_HW_SGI_MACE    0x01
  274.  
  275. /* --- XSCALE on-chip adapters                          */
  276. #define I2C_HW_IOP3XX 0x00
  277.  
  278. /* --- Au1550 PSC adapters adapters                    */
  279. #define I2C_HW_AU1550_PSC    0x00
  280.  
  281. /* --- SMBus only adapters                        */
  282. #define I2C_HW_SMBUS_PIIX4    0x00
  283. #define I2C_HW_SMBUS_ALI15X3    0x01
  284. #define I2C_HW_SMBUS_VIA2    0x02
  285. #define I2C_HW_SMBUS_VOODOO3    0x03
  286. #define I2C_HW_SMBUS_I801    0x04
  287. #define I2C_HW_SMBUS_AMD756    0x05
  288. #define I2C_HW_SMBUS_SIS5595    0x06
  289. #define I2C_HW_SMBUS_ALI1535    0x07
  290. #define I2C_HW_SMBUS_SIS630    0x08
  291. #define I2C_HW_SMBUS_SIS96X    0x09
  292. #define I2C_HW_SMBUS_AMD8111    0x0a
  293. #define I2C_HW_SMBUS_SCX200    0x0b
  294. #define I2C_HW_SMBUS_NFORCE2    0x0c
  295. #define I2C_HW_SMBUS_W9968CF    0x0d
  296. #define I2C_HW_SMBUS_OV511    0x0e    /* OV511(+) USB 1.1 webcam ICs    */
  297. #define I2C_HW_SMBUS_OV518    0x0f    /* OV518(+) USB 1.1 webcam ICs    */
  298. #define I2C_HW_SMBUS_OV519    0x10    /* OV519 USB 1.1 webcam IC    */
  299. #define I2C_HW_SMBUS_OVFX2    0x11    /* Cypress/OmniVision FX2 webcam */
  300.  
  301. /* --- ISA pseudo-adapter                        */
  302. #define I2C_HW_ISA 0x00
  303.  
  304. /* --- IPMI pseudo-adapter                        */
  305. #define I2C_HW_IPMI 0x00
  306.  
  307. /* --- IPMB adapter                        */
  308. #define I2C_HW_IPMB 0x00
  309.  
  310. /* --- MCP107 adapter */
  311. #define I2C_HW_MPC107 0x00
  312.  
  313. #endif /* LINUX_I2C_ID_H */
  314.